<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <style>
    /*为了修复这个问题，我们需要换个角度来思考：我们在这里到底想要实
现什么样的结果。我们需要的并不是在:hover 时应用一个动画，因为这意
味着动画被中断时的状态是无处保存的。我们需要的是当失去:hover 状态
时暂停动画。幸运的是，有一个属性正好是为暂停动画的需求专门设计的：
animation-play-state ！
因此，我们需要把动画加在.panoramic 这条样式中，但是让它一开始
就处于暂停状态，直到:hover 时再启动动画。这再也不是添加和取消动画
的问题了，而只是暂停和继续一个一直存在的动画，因此再也不会有生硬的
跳回现象了。*/
    
    @keyframes panoramic {
      to {
        background-position: 100% 0;
      }
    }
    
    .panoramic {
      width: 150px;
      height: 150px;
      background: url('http://c3.staticflickr.com/3/2671/3904743709_74bc76d5ac_b.jpg');
      background-size: auto 100%;
      animation: panoramic 10s linear infinite alternate;
      animation-play-state: paused;
    }
    
    .panoramic:hover,
    .panoramic:focus {
      animation-play-state: running;
    }
  </style>
  <div class="panoramic"></div>
</body>

</html>